CrackMe« Practices for Newbies
PROJECT 6: caveman by Ghiribizzo

Re: Princess' Tread
Tuesday, 23-Feb-99 15:15:35

    96 % there.

    The data put into the table at 0100 is a matrix ten bytes by ten bytes
    You are given a starting point on this grid depending upon your user name. This is determined at 017F -018F

    At 01D0 this starting address is moved into si and if the code in that position is 2E then this is where you start, otherwise the pointer is incremented until it finds 2E which will then be your starting location.

    At 053E the 100 bytes from your .dat file is loaded into 0667 and then byte by byte you are moved around the board.
    Each byte moves your position 4 spaces depending upon ebx.

    If ebx = 0 then you move up one position
    If ebx = 1 then you move down one position
    If ebx = 2 then you move left one position
    If ebx = 3 then you move right one position

    Each byte is rolled left 4 times and this determines how you move

    If your number
    is .à.21ROL al 02 becomes 84 which makes ebx =0
    then 84 ROL al 02 becomes 12 which makes ebx =2
    then 84 ROL al 02 becomes 48 which makes ebx =0
    then 84 ROL al 02 becomes 21 which makes ebx =1

    So you move one up, one left, one up, one down,

    Then you pick up the next number
    If you hit "T" you are booted out.

    Your goal is to end up on the "f" which will give you "Congratulations!"

    However if you land on the "w" you also get booted out and in order to get to the "f" there must be a way to get rid of either the "w" or the "T" but I have not yet discovered this.

    Princess


    96 % there


Message thread:

Princess' Tread (Princess) (22-Feb-99 17:47:48)

Back to main board